// 钱包地址相关类型
export interface WalletAddress {
  id: number
  crypto: string
  network: string
  address: string
  remark?: string
  isDefault: boolean
}

// 添加钱包地址表单类型
export interface AddressForm {
  crypto: string
  network: string
  address: string
  remark: string
  isDefault: boolean
}

// 网络类型
export interface Network {
  type: string
  desc: string
  fee: string
}

// 资产相关类型
export interface Asset {
  id: number
  type: 'balance' | 'points' | 'commission'
  amount: number
  currency?: string
}

// 交易记录类型
export interface Transaction {
  id: number
  type: 'recharge' | 'withdraw' | 'commission' | 'consume'
  amount: number
  status: 'pending' | 'success' | 'failed'
  createTime: string
  currency: string
  remark?: string
}

// 充值相关类型
export interface RechargeInfo {
  crypto: string
  network: string
  address: string
  minAmount: number
  maxAmount: number
  arrivalTime: string
  fee: string
}

// 提现相关类型
export interface WithdrawForm {
  crypto: string
  network: string
  address: string
  amount: number | ''  // 允许空字符串
  remark?: string
}

export interface WithdrawLimit {
  minAmount: number
  maxAmount: number
  dailyLimit: number
  remainingLimit: number
}

// 资产相关类型
export interface AssetBalance {
  id: number
  crypto: string
  icon: string
  balance: number
  frozen: number
  total: number
  convertedBalance: number  // 折合人民币
}

// 交易记录类型
export interface TransactionRecord {
  id: number
  type: 'deposit' | 'withdraw'
  crypto: string
  amount: number
  status: 'pending' | 'success' | 'failed'
  txHash?: string
  network: string
  address: string
  fee?: string
  remark?: string
  createdAt: string
  updatedAt: string
}

// 通用加密货币类型
export interface CryptoCurrency {
  symbol: string
  name: string
  icon: string
  networks: string[]
  minAmount: number
  maxAmount: number
}

// 网络类型
export interface NetworkInfo {
  type: string
  name: string
  fee: string
  minAmount: number
  maxAmount: number
  arrivalTime: string
  isRecommended?: boolean
}

// 充值金额选项
export interface RechargeOption {
  amount: number
  bonus?: number
  isPopular?: boolean
}

// 充值参数
export interface RechargeParams {
  amount: number
  paymentMethod: string
  currency: string
}

// 提现参数
export interface WithdrawParams {
  amount: number
  accountType: string
  accountNo: string
  accountName: string
  bankName?: string
}

// 资产概览
export interface AssetOverview {
  balance: number
  points: number
  commission: number
  currency: string
}

// 支付方式
export interface PaymentMethod {
  id: string
  name: string
  icon: string
  description?: string
}

// 提现账户类型
export interface WithdrawAccountType {
  code: string
  name: string
  icon: string
  description?: string
} 